1. Field of the Invention
The present invention relates to a service providing apparatus, a service providing program and a service providing method that provide various services for a service receiver by using short-range wireless communication.
2. Related Art
Recently, short-range wireless communication systems having a transmission distance of approximately 10 m are attracting attention. Whereas the effective transmission distance range of the conventional wireless LAN is at least 100 m, the short-range wireless communication system is narrow in transmission range and accordingly less in used power. Therefore, the short-range wireless communication system is suitable for an information processing apparatus having limitations in battery, such as a portable information processing apparatus (hereafter referred to simply as portable terminal) like a portable telephone or a PDA.
Bluetooth (™) is one of such short-range wireless communication systems. In recent years, portable terminals mounting the Bluetooth communication means have spread.
Since the unit price of the device is inexpensive and size reduction of the apparatus is possible in Bluetooth, apparatuses having the Bluetooth communication function are expected to be spread everywhere hereafter. If Bluetooth is spread, provision of service and information according to the place can be obtained in an arbitrary place.
For example, in convenience stores, supermarkets, retail stores or the like, provision of service for purchasers, such as electronic coupon service, electronic point service, electronic settlement, and receipt and voucher issuance, becomes possible. Furthermore, applications of the Bluetooth using electronic tickets to gate opening/closing control, settlement and discount service in automatic vending machines, and charge paying in parking lots, gas stations and drive-throughs are also anticipated. Besides, access to the Internet, information delivery depending upon specific places, provision of user's position information, and route guide or the like also become possible.
Hereafter, a conventional technique will be described by taking as an example the case where connection using the Bluetooth is established between a portable terminal having a Bluetooth communication function (hereafter referred to simply as Bluetooth portable terminal) and an information processing apparatus having a Bluetooth communication function and providing various services (hereafter referred to simply as Bluetooth apparatus), and the Bluetooth apparatus provides service for a user having the Bluetooth portable terminal.
First, a procedure for the Bluetooth portable terminal to get service from an arbitrary opposite party in an arbitrary place will now be described. First, a client application program to get service is started. Subsequently, the client application in the Bluetooth portable terminal orders a Bluetooth module to execute an inquiry command for a specified time, typically for 10 seconds in order to find an apparatus with which communication can be conducted. The Bluetooth module is a functional block incorporated in each of the Bluetooth portable terminal and the Bluetooth apparatus to conduct communication processing according to Bluetooth specifications. The Bluetooth module is typically formed of an IC chip.
If the inquiry is completed after a specified time has elapsed, the client application sends to the Bluetooth module a command for acquiring remote names, which are identification names respectively of Bluetooth apparatuses found during that time, or identification names of services provided by the Bluetooth apparatuses.
The client application acquires remote names of all found Bluetooth apparatuses, then shows a list of the acquired remote names to the user, and urges the user to select a Bluetooth apparatus to be connected. Subsequently, the client application orders the Bluetooth module to transmit an ACL connection request command selected by the user to the Bluetooth apparatus.
According to setting, a terminal authentication procedure is conducted during the ACL connection operation in some cases. Alternatively, both apparatuses maybe authenticated by inputting the same link key or the same PIN code in order to generate a link key in both apparatuses. For using encryption communication, authentication processing is executed, and then a temporary encryption key for encryption communication is created on the basis of the link key.
After completion of the ACL connection, the client application orders a module called Bluetooth stack to transmit a service information acquisition command. Subsequently, the client application acquires service information from the Bluetooth apparatus, and thereby acquires information concerning a protocol to be used by the application.
Subsequently, the client application orders the module called Bluetooth stack to execute connection of a protocol to be used by the client application, by using information corresponding to the protocol. For example, if the client application uses OBEXFTP to get service, the client application calls a connection request function of OBEX. In this case, the stack executes connections of RFCOMM and L2CAP in order, and after the completion of connection of low order layers, a connection of an OBEX protocol is realized.
After the completion of the connection of the protocol, the client application conducts server authentication by conducting challenge response or the like at an application level. In the case of OBEX, the OBEX protocol itself has an authentication function. Even if the authentication function in the OBEX protocol is used, authentication of the service providing apparatus is possible.
Owing to the procedure heretofore described, it becomes possible for the user to get desired service by using the Bluetooth portable terminal.
If the above-described procedure is executed, however, processing time required until the user gets service is typically as long as 10 and several seconds, because inquiry processing is conducted for a fixed time even in the case where there is only one apparatus with which communication can be conducted. If there are a large number of apparatuses with which communication can be conducted, the processing time increases in proportion to the number of apparatuses with which communication can be conducted. Supposing that an average of approximately 1 second is required to acquire a remote name and N apparatuses have been found, processing time of N seconds is required to acquire remote names of all apparatuses.
For example, in the case where a large number of registers are arranged at intervals of 1 m in a supermarket or the like and a shopper searches for a register in order to make payment, approximately 20 registers are found, because the distance over which the Bluetooth communication can be executed is approximately 10 m. Therefore, it takes approximately 20 seconds to acquire remote names of all registers.
As a measure to eliminate such an inconvenience, there is a technique of using a COD (Class of Device) having information concerning the kinds of the Bluetooth apparatus. The information is included in information that can be acquired by the inquiry. Thereby, only apparatuses that can provide desired service can be selected.
However, the COD identifies the kinds of the apparatus, and it does not identify the service itself. For example, even if a category of settlement service exists in the COD, all registers belong to that category in the above-described example, and the COD is not useful to sorting.
In general, wireless communication has an advantage that there are no effects of the positional relationship between two apparatuses and an interception substance as compared with communication using infrared light. On the other hand, wireless communication has a property that it is difficult to set connection with only a terminal that exists in a specific position.
In the case where there are one customer (one Bluetooth portable terminal) and one register (one Bluetooth apparatus), the relationship between the Bluetooth portable terminal carried by a customer who makes payment and the cash register apparatus is determined uniquely, and consequently a problem concerning the connection is not posed. In other words, if a person who operates the Bluetooth portable terminal has found a Bluetooth apparatus by using the above-described Bluetooth apparatus search function, the found apparatus can be regarded as a cash register apparatus.
However, in the above-described example of the supermarket, a plurality of cash register apparatuses exist in the communication possible range and a cash register apparatus on an adjacent line is also found. The user having the Bluetooth portable terminal needs to check names or the like of cash register apparatuses and select a cash register apparatus to determine in which of the found cash register apparatuses payment should be made.
If extra time is needed to select the opposite party of communication, it takes time until the user gets service and the convenience for the user is worsened. In the case of payment at a register in a supermarket, register operations are hindered at the time of congestion when a large number of customers form lines.
In addition, if a person who operates the Bluetooth portable terminal specifies a wrong cash register apparatus, a discount from the amount payable might not be conducted even when a coupon is used, or points of another person might be added to those of the person. Cancellation works need to be conducted in both the Bluetooth portable terminal and the cash register apparatus, accordingly a great deal of labor is needed.
Therefore, an operator of a cash register needs to ascertain from the customer whether or not the connected Bluetooth portable terminal is right, by using some information accompanying the Bluetooth portable terminal. Such selection or ascertainment work is not an agreeable interface for a customer who makes payment, and hinders the register operations of the operator.